home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / LANG / C / LIB / DESKLIB / CORE / DeskLib / Docs / AboutDL next >
Text File  |  1995-06-23  |  14KB  |  301 lines

  1.  
  2.     ####             #    #     # #
  3.     #   #            #    #       #         The FreeWare C library for 
  4.     #   #  ##   ###  #  # #     # ###            RISC OS machines
  5.     #   # #  # #     # #  #     # #  #  ___________________________________
  6.     #   # ####  ###  ##   #     # #  #                                      
  7.     #   # #        # # #  #     # #  #   Please refer to the accompanying
  8.     ####   ### ####  #  # ##### # ###   documentation for conditions of use
  9.     _______________________________________________________________________
  10.  
  11.     Note that although this software is supplied free of charge, copyright
  12.     applies to it. All rights are reserved, except for the following:
  13.  
  14.     This software may be copied and distributed without restriction so long
  15.     as the following conditions are met:
  16.       a) The copyright messages and these conditions are distributed intact
  17.          in all such copies
  18.       b) Only original, unaltered copies of this software are to be
  19.          distributed (so that this library remains consistent over time)
  20.          -PLEASE DON'T alter the library and pass it on: Alter it and
  21.          send alterations back to the moderator (see below) so that
  22.          your code becomes an official update rather than a hack.
  23.       c) No profit is made through such distribution
  24.  
  25.     This software may be used in the production of any piece of software so
  26.     long as the authors acknowledge in the final product distribution that
  27.     DeskLib (or parts thereof) was used.
  28.  
  29.  
  30.     ***********************************************************************
  31.     * This program is distributed in the hope that it will be useful,     *
  32.     * but WITHOUT ANY WARRANTY; without even the implied warranty of      *
  33.     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                *
  34.     * Bug reports, fixes, or any extra code may be sent to the moderator, *
  35.     * who may or may not act on them as he deems fit.                     *
  36.     ***********************************************************************
  37.     _______________________________________________________________________
  38.  
  39.     NOTE ALSO that DeskLib is totally unaffiliated to anyone or anything.
  40.     Just because I now work for Computer Concepts does not mean that this
  41.     product is in any way related to Computer Concepts Ltd.
  42.     All comments about people and companies in this product are either
  43.     personal opinion or were factual at the time of writing. Most such
  44.     comments are included only so that the user knows the REASON for
  45.     things having been done as they were.
  46.     _______________________________________________________________________
  47.  
  48.  About DeskLib
  49.  =============
  50.  
  51.  After some bad experiences with Acorn's RISC OS Lib, I decided that a new,
  52.  well written, professionally-finished library would be very useful. Acorn
  53.  appeared to be uninterested in fixing RISC OS Lib for me, so I managed to
  54.  rustle up a band of merry programmers to help me write a completely new
  55.  library, from scratch, and design things before they were written.
  56.  
  57.  The result is (or will be ?!) DeskLib.
  58.  
  59.  DeskLib is a set of ANSI C and ARM assembler sources intended to add to or
  60.  replace PARTS of the libraries supplied with Acorn Desktop C. Many parts of
  61.  DeskLib replace parts of the Acorn Libraries, but many portions of the
  62.  library code can be used in conjunction with Acorn's libraries, or as a base
  63.  from which you will be able to more easily write code for use with Acorn's
  64.  Libraries, so don't go away just yet!
  65.  This library is intended both as an alternative to Acorn's RISC OS Lib as
  66.  well as a useful source of fragments of code to include into your own
  67.  sources.
  68.  
  69.  All efforts have been spent to make the library code as generic, robust,
  70.  and useful as possible, as well as attempting to provide a comprehensive
  71.  range of function calls, from basic SWI-level support to high-level
  72.  functions such as automatic dialogue-box creation, handling and
  73.  result-return in a single function.
  74.  
  75.  Where possible, routines have been optimised (to some extent) for
  76.  efficiency, but the primary goals are high-level interfaces that make WIMP
  77.  programming quick and easy. (If the user wants to specifically do something
  78.  special, and wants it fast, the source code for DeskLib is available, so any
  79.  functions can be adapted for the user's needs as necessary...)
  80.  
  81.  All possible action is taken to keep code size down without adversely
  82.  affecting the functionality of the library: Individual functions are added
  83.  to the library separately, so that including one function in your code
  84.  does NOT include the (unwanted and unneeded) code for several others.
  85.  
  86.  Where possible, code is written as a standalone unit to avoid pulling in
  87.  too much other DeskLib code when you include a function.
  88.  
  89.  Attempts have also been made to rationalise the naming conventions used,
  90.  while keeping as much compatibility with the Acorn libraries as possible.
  91.  Thus, data structures are as similar to acorn conventions as possible, but
  92.  with occasional names altered to improve readability and/or consistency.
  93.  We have reverted back to basing our naming on Acorn's very well designed
  94.  SWI interfaces and their use, rather than sticking with Acorn's RISC OS Lib
  95.  abstractions to keep this environment closer to it's Assembler and BASIC
  96.  cousins, which will make it easier to port programmers between environments.
  97.  
  98.  As a result, DeskLib has been developed by individual programmers working
  99.  to some basic guidelines, with me, the moderator, taking in the code,
  100.  tidying up any "loose ends" I find, and then including the final code in
  101.  the Library. This has helped to keep everything as consistent as possible
  102.  throughout the library. (Though I can't guarantee that the library is
  103.  perfect, I believe it is far superior to RISC OS Lib in the areas it
  104.  currently covers)
  105.  
  106.  The code has been written to provide a high-level interface that supports,
  107.  encourages, and all BUT forces programmers to use a more consistent
  108.  interface design, which will be brought into line with the Acorn Style
  109.  Guide as soon as Acorn make up their minds...
  110.  The programmer using DeskLib is encouraged to use our more generic template
  111.  and menu routines, so that the END USER of the product has more control 
  112.  of the look, feel, layout, and hotkeys used in the program.
  113.  
  114.  However, another important concept is that YOU are in charge, and DeskLib
  115.  is just a tool for you to use, so it should not force you against your will
  116.  if possible. Thus, we provide unrestricted low-level access as well. And by
  117.  providing the sources, we make it possible for you to do low-level "tweaks"
  118.  on our high-level data structures without the fear that you might be
  119.  treading on the toes of some other code...
  120.  
  121.  We also feel it is important to distribute the library sources freely, so
  122.  that you may improve or alter the library to suit your own needs, and
  123.  hopefully send back any improvements or bug fixes to me so that they may be
  124.  officially incorporated into the DeskLib distribution. Also, you can SEE
  125.  what functions do, and thus KNOW what they do, and therefore be able to
  126.  cope with what they do, rather than tripping over low-level implementation
  127.  details/bugs that the author didn't bother to make you aware of.
  128.  
  129.  We have absolutely NO objection to including SEVERAL DIFFERENT code modules
  130.  that do essentially the same thing, so that you may CHOOSE the one that
  131.  suits you best.
  132.  
  133.  
  134.  
  135. The future
  136.  As well as growing to include more and more code resources, three important
  137.  goals for the future of this Library are:
  138.   * Conversion to assembler. Small and simple functions (Icon_Select, etc)
  139.     are extremely easy to convert to assembler. This also has the advantage
  140.     of reducing their size at the same time as increasing efficiency. The goal
  141.     is to convert as much of the library as possible to a more efficient
  142.     implementation over time. This will not affect the interface, so existing
  143.     applications can benefit from the conversion by simply relinking with
  144.     the new functions.
  145.  
  146.   * Support for Glazier's 'Glass' template format, including menu, window, icon
  147.     and hotkey templates, and special creatures such as 'meta-icons' (things
  148.     like slider icons which are made up of more than one Wimp icon, but can
  149.     be treated by the main program as a single entity)
  150.  
  151.   * Production of a shared DeskLib code library relocatable module, along
  152.     similar lines to the existing ANSI SharedCLibrary. This will basically move
  153.     the most important small functions into a SMALL relocatable module so that
  154.     the code resources may be shared by all desktop tasks, including ones
  155.     written in C, assembler, and (hopefully) BASIC.
  156.  
  157.  
  158.  
  159. Authors
  160.  If code you have written is incorporated into this library, you still
  161.  retain your copyright for it. However, if you wish to retract
  162.  copy-permission for a part of DeskLib you have written, then it will be
  163.  removed from *future* releases of the distribuion, and the retraction will
  164.  not affect previous release versions of the library, or any software
  165.  product that used them. Probably an equivalent bit of code will then be
  166.  written by somebody else to fill the gap.
  167.  
  168.  If DeskLib is updated by someone writing code based upon your suggestions
  169.  and/or code, then they retain copyright for that which they have written,
  170.  though you will be credited in the updated file(s).
  171.  
  172.  If you write any FreeWare using the DeskLib libraries, it would be really
  173.  nice of you to send me a copy of the sources and final application to
  174.  possibly be included in future DeskLib releases as tutorial/demonstration
  175.  code, or at least distribute your sources (or parts thereof) with your
  176.  application so that they may serve as example code for others.
  177.  
  178.  For documentation on using DeskLib in your own programming projects, and
  179.  submitting your own code/ideas for inclusion in DeskLib, please read the
  180.  files in the Docs directory. Note that most of the documentation of
  181.  function calls is provided in the form of comments in the relevant header
  182.  (.h) files at present.
  183.  
  184.  The last point is that although we are trying to provide complete useful
  185.  code, some bugs are bound to fall through the net... Some decisions on
  186.  naming or data structures may seem bad to you (some do to me), but we
  187.  have our reasons (usually consistency) for doing things this way.
  188.  We are doing our best: Constructive criticism is welcome, but please
  189.  don't winge at us - If you don't like something, then don't bother me - go
  190.  away and spend a year writing the code yourself... I don't welcome
  191.  criticism from people who are unwilling to write the code themselves.
  192.  
  193.  Now please go back and read the conditions that you skipped at the top of
  194.  this file, because they are important ;-)
  195.  
  196.  ---------------------------------------------------------------------------
  197.  
  198.  Authors:
  199.    This library has been built up by a group of authors. Individual files
  200.    contain copyright notices for the author(s) who created them. The
  201.    authors (and other contributors) I've remembered to write down here
  202.    are (alphabetically):
  203.  
  204.     Peter Arnold
  205.     Matthew Astley
  206.     Lee Atkinson
  207.     Philip Banks
  208.     Shaun Blackmore
  209.     Cy Booker
  210.     Tim Browse
  211.     Tony Bryant
  212.     Philip Colmer
  213.     Erik de Kort
  214.     Keith Hall
  215.     Tony Houghton
  216.     Jason Howat
  217.     Tony Howat
  218.     Peter Gaunt
  219.     Tom Kirby-Green
  220.     David Leftley
  221.     David Lenthall
  222.     Keith Marlow
  223.     Stuart Martin
  224.     Sergio Monesi
  225.     Ernest Ong
  226.     Ainsley Pereira
  227.     David Pilling
  228.     Edouard Poor
  229.     Andrew Sellors
  230.     Julian Smith
  231.     Ben Summers
  232.     Neil Tarrent
  233.     William Waghorn
  234.     Robin Watts
  235.     Jason Williams
  236.     Mark H. Wilkinson
  237.     John Winters
  238.  
  239.    Thanks also to the numerous others who have offered suggestions, etc.
  240.    Thanks to Acorn for designing the machine and the compiler.
  241.    And for RISC OS Lib??  I guess so, or this would never have appeared, and
  242.    I would be forced to relax in the weekends ;-)
  243.  
  244.  -----------------------------------------------------------------------------
  245.  
  246. The above was mostly written by Jason Williams, the original DeskLib moderator
  247.  
  248.  -----------------------------------------------------------------------------
  249.  
  250.  
  251.  Contacting the moderators:
  252.  
  253.  If you find any bugs or problems in DeskLib, or if you can supply
  254.  suggestions or code for alterations, additions, or tutorial applications,
  255.  then please write to either of:
  256.  
  257.    Julian Smith
  258.    Department of Experimental Psychology
  259.    University of Oxford
  260.    South Parks Road
  261.    Oxford
  262.    OX1 3UD
  263.    UK
  264.    
  265.    Craig Beech
  266.    c/o Echelon Software
  267.    30 The Deerings
  268.    Harpenden
  269.    Hertfordshire
  270.    AL5 2PE.
  271.    UK
  272.  
  273. (including a small lump of cash (1 british pound would suffice) to cover
  274. return postage would be appreciated!)
  275.  
  276.  or email either of:
  277.    julians@festival.ed.ac.uk
  278.    c-beech@csm.uwe.ac.uk
  279.  
  280.  A set of DeskLib web pages is reachable from:
  281.  http://cogsci1.psych.ox.ac.uk/~julians/
  282.  This site may also have beta versions of DeskLib.
  283.  
  284.  
  285.  These addresses were valid as of the release date.
  286.  If you fail to reach us at any of them, then we can also generally be
  287.  contacted by posting an article onto usenet's comp.sys.acorn newsgroup,
  288.  which we (or someone) will be watching regardless of where we happen to be
  289.  living.
  290.  
  291.  Updates to this library are likely to be distributed over comp.sources.acorn,
  292.  various Archive servers, selected "PD" Libraries, and by high velocity llama.
  293.  
  294.  If you wish to use DeskLib in a commercial product (or ANY important or
  295.  global-release software for that matter), then PLEASE write to us at the
  296.  above addresses enclosing a blank 3.5" disc, and I will endeavour to answer
  297.  any queries you have, and forward you the latest version of the library
  298.  sources. It is in your own best interests! The only way to get support is
  299.  by contacting us.
  300.  
  301.